[INFO] fetching crate semigroup 0.6.0...
[INFO] fixing semigroup-0.6.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate semigroup 0.6.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate semigroup 0.6.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate semigroup 0.6.0
[INFO] tweaked toml for crates.io crate semigroup 0.6.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate semigroup 0.6.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate semigroup 0.6.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded semigroup_derive v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe
[INFO] running `Command { std: "docker" "start" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]     Checking winnow v1.0.2
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zerocopy v0.8.48
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling semigroup_derive v0.6.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking semigroup v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking trybuild v1.0.116
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]  --> tests/serde_integrate.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout]   |                                                           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> tests/serde_integrate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semigroup::Semigroup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 4 - #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout] 4 + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, semigroup)]
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use semigroup_derive::Semigroup;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/serde_integrate.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/serde_integrate.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[semigroup(with = "semigroup::op::Concat")]
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]  --> tests/derive_semigroup.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]   |                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> tests/derive_semigroup.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semigroup::Semigroup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 3 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 3 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use semigroup_derive::Semigroup;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:37:59
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout]    |                                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/serde_integrate.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 37 - #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout] 37 + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/derive_semigroup.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   |
[INFO] [stdout] 5 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 6 | pub struct NamedStruct {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/derive_semigroup.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[semigroup(with = "semigroup::op::Last")]
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/derive_semigroup.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 38 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 38 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> examples/clap_serde.rs:16:63
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Default, Serialize, Deserialize, Args, Semigroup)]
[INFO] [stdout]    |                                                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> examples/clap_serde.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 16 - #[derive(Debug, Clone, Default, Serialize, Deserialize, Args, Semigroup)]
[INFO] [stdout] 16 + #[derive(Debug, Clone, Default, Serialize, Deserialize, Args, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 40 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 41 | pub struct UnnamedStruct(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 |     #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[semigroup(with = "semigroup::op::Last")] String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[semigroup(with = "semigroup::Dual(semigroup::op::Concat(_))")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/derive_semigroup.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 60 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 60 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:70:59
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout]    |                                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/serde_integrate.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 70 - #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Semigroup)]
[INFO] [stdout] 70 + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> examples/clap_serde.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 18 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 19 | struct Person {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 |     #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/serde_integrate.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 |     #[semigroup(with = "semigroup::Dual(semigroup::Dual(semigroup::op::Concat(_)))")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `NamedStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:23:22
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub struct NamedStruct {
[INFO] [stdout]     | ---------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  23 |         NamedStruct::op(a.clone(), b.clone()),
[INFO] [stdout]     |                      ^^ associated function or constant not found in `NamedStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]  --> tests/derive_semigroup_generics.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]   |                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> tests/derive_semigroup_generics.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semigroup::Semigroup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 3 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 3 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use semigroup_derive::Semigroup;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `NamedStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:30:22
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub struct NamedStruct {
[INFO] [stdout]     | ---------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  30 |         NamedStruct::op(b.clone(), a.clone()),
[INFO] [stdout]     |                      ^^ associated function or constant not found in `NamedStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/derive_semigroup_generics.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[semigroup(with = "semigroup::op::Coalesce")]
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup_generics.rs:37:35
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/derive_semigroup_generics.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::Semigroup;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 37 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 37 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `semigroup` found for struct `BasicConfig` in the current scope
[INFO] [stdout]   --> tests/serde_integrate.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct BasicConfig {
[INFO] [stdout]    | ---------------------- method `semigroup` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     let config = c1.semigroup(c2).semigroup(c3);
[INFO] [stdout]    |                     ^^^^^^^^^ method not found in `BasicConfig`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `semigroup`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Semigroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnnamedStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:51:24
[INFO] [stdout]     |
[INFO] [stdout]  40 | pub struct UnnamedStruct(
[INFO] [stdout]     | ------------------------ associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  51 |         UnnamedStruct::op(a.clone(), b.clone()),
[INFO] [stdout]     |                        ^^ associated function or constant not found in `UnnamedStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_semigroup_generics.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[semigroup(with = "semigroup::op::Coalesce")] Option<u32>,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnnamedStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:55:24
[INFO] [stdout]     |
[INFO] [stdout]  40 | pub struct UnnamedStruct(
[INFO] [stdout]     | ------------------------ associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  55 |         UnnamedStruct::op(b.clone(), a.clone()),
[INFO] [stdout]     |                        ^^ associated function or constant not found in `UnnamedStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnitStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:66:28
[INFO] [stdout]     |
[INFO] [stdout]  61 | pub struct UnitStruct;
[INFO] [stdout]     | --------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  66 |     assert_eq!(UnitStruct::op(a.clone(), b.clone()), UnitStruct);
[INFO] [stdout]     |                            ^^ associated function or constant not found in `UnitStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnitStruct` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup.rs:67:28
[INFO] [stdout]     |
[INFO] [stdout]  61 | pub struct UnitStruct;
[INFO] [stdout]     | --------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  67 |     assert_eq!(UnitStruct::op(b.clone(), a.clone()), UnitStruct);
[INFO] [stdout]     |                            ^^ associated function or constant not found in `UnitStruct`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `semigroup` found for struct `Person` in the current scope
[INFO] [stdout]   --> examples/clap_serde.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Person {
[INFO] [stdout]    | ------------- method `semigroup` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     let person = app.person.semigroup(file_person);
[INFO] [stdout]    |                             ^^^^^^^^^ method not found in `Person`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `semigroup`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Semigroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `semigroup` found for struct `AdvancedConfig` in the current scope
[INFO] [stdout]   --> tests/serde_integrate.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct AdvancedConfig {
[INFO] [stdout]    | ------------------------- method `semigroup` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     let config = c1.semigroup(c2).semigroup(c3);
[INFO] [stdout]    |                     ^^^^^^^^^ method not found in `AdvancedConfig`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `semigroup`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Semigroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/xor.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `semigroup` (test "derive_semigroup") due to 13 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `semigroup` (example "clap_serde") due to 3 previous errors
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/xor.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `semigroup` (test "serde_integrate") due to 13 previous errors
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/union.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `semigroup` found for struct `BasicConfig` in the current scope
[INFO] [stdout]   --> tests/serde_integrate.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct BasicConfig {
[INFO] [stdout]    | ---------------------- method `semigroup` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     let basic_config = bc1.semigroup(bc2).semigroup(bc3);
[INFO] [stdout]    |                            ^^^^^^^^^ method not found in `BasicConfig`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `semigroup`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Semigroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/union.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 75 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/sum.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/sum.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `semigroup` found for struct `DualDualConfig` in the current scope
[INFO] [stdout]   --> tests/serde_integrate.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DualDualConfig {
[INFO] [stdout]    | ------------------------- method `semigroup` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     let dual_dual_config = ddc1.semigroup(ddc2).semigroup(ddc3);
[INFO] [stdout]    |                                 ^^^^^^^^^ method not found in `DualDualConfig`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `semigroup`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Semigroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/prod.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/prod.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/min.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/min.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/max.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/max.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `NamedStruct<T>` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup_generics.rs:22:22
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub struct NamedStruct<T> {
[INFO] [stdout]     | ------------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  22 |         NamedStruct::op(a.clone(), b.clone()),
[INFO] [stdout]     |                      ^^ associated function or constant not found in `NamedStruct<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/intersection.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/intersection.rs:69:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `NamedStruct<T>` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup_generics.rs:29:22
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub struct NamedStruct<T> {
[INFO] [stdout]     | ------------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  29 |         NamedStruct::op(b.clone(), a.clone()),
[INFO] [stdout]     |                      ^^ associated function or constant not found in `NamedStruct<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/any.rs:73:16
[INFO] [stdout]    |
[INFO] [stdout] 73 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/any.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/any.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnnamedStruct<T>` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup_generics.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub struct UnnamedStruct<T>(
[INFO] [stdout]     | --------------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  49 |         UnnamedStruct::op(a.clone(), b.clone()),
[INFO] [stdout]     |                        ^^ associated function or constant not found in `UnnamedStruct<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/any.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/any.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `op` found for struct `UnnamedStruct<T>` in the current scope
[INFO] [stdout]    --> tests/derive_semigroup_generics.rs:53:24
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub struct UnnamedStruct<T>(
[INFO] [stdout]     | --------------------------- associated function or constant `op` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  53 |         UnnamedStruct::op(b.clone(), a.clone()),
[INFO] [stdout]     |                        ^^ associated function or constant not found in `UnnamedStruct<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `op`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Semigroup`
[INFO] [stdout] help: there is an associated function `drop` with a similar name
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-epoch-0.9.18/src/atomic.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     unsafe fn drop(ptr: usize);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]  --> tests/derive_annotated.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]   |                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> tests/derive_annotated.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semigroup::{AnnotateFields, Semigroup};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 3 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 3 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use semigroup_derive::Semigroup;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/any.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/all.rs:73:16
[INFO] [stdout]    |
[INFO] [stdout] 73 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/all.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/derive_annotated.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[semigroup(annotated, with = "semigroup::op::Coalesce")]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   |
[INFO] [stdout] 5 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 6 | pub struct NamedStruct {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]  --> tests/derive_annotated.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[semigroup(with = "semigroup::op::Last")]
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]   = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_commutative` in `crate`
[INFO] [stdout]   --> src/op/all.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |         crate::assert_commutative!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ could not find `assert_commutative` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/derive_annotated.rs:1:33
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::{AnnotateFields, Semigroup};
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 49 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 49 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/all.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/all.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/all.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[semigroup(annotated, with = "semigroup::op::Coalesce")]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 51 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 52 | pub struct UnnamedStruct(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/overwrite.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `semigroup` (test "derive_semigroup_generics") due to 8 previous errors
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/overwrite.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/overwrite.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[semigroup(with = "semigroup::op::Last")] String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/overwrite.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/last.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:82:35
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Semigroup` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> tests/derive_annotated.rs:1:33
[INFO] [stdout]    |
[INFO] [stdout]  1 | use semigroup::{AnnotateFields, Semigroup};
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] help: the derive macros `Semigroup` and `SemigroupPriv` accept the similarly named `semigroup` attribute (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 82 - #[derive(Debug, Clone, PartialEq, Semigroup)]
[INFO] [stdout] 82 + #[derive(Debug, Clone, PartialEq, semigroup)]
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use semigroup_derive::Semigroup;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/first.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/concat.rs:36:16
[INFO] [stdout]    |
[INFO] [stdout] 36 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:83:3
[INFO] [stdout]    |
[INFO] [stdout] 83 | #[semigroup(annotated)]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] help: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 84 + #[derive(Semigroup, SemigroupPriv)]
[INFO] [stdout] 85 | pub struct DualCoalesce {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/coalesce.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |     #[semigroup(with = "semigroup::Dual(semigroup::op::Last(_))")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/coalesce.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/coalesce.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `semigroup` in this scope
[INFO] [stdout]   --> tests/derive_annotated.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 |     #[semigroup(with = "semigroup::Dual(semigroup::op::Coalesce(_))")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `semigroup` is an attribute that can be used by the derive macros `Semigroup` and `SemigroupPriv`, you might be missing a `derive` attribute
[INFO] [stdout]    = note: `semigroup` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `assert_semigroup` in `crate`
[INFO] [stdout]   --> src/op/coalesce.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |         crate::assert_semigroup!(a, b, c);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ could not find `assert_semigroup` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `NamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout]  5 |   pub struct NamedStruct {
[INFO] [stdout]    |   ---------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |       let a = NamedStruct {
[INFO] [stdout]    |  _____________-
[INFO] [stdout] 14 | |         name: "A".to_string(),
[INFO] [stdout] 15 | |         value: Some(10u32),
[INFO] [stdout] 16 | |     }
[INFO] [stdout] 17 | |     .annotated("First");
[INFO] [stdout]    | |     -^^^^^^^^^ method not found in `NamedStruct`
[INFO] [stdout]    | |_____|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `NamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout]  5 |   pub struct NamedStruct {
[INFO] [stdout]    |   ---------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |       let b = NamedStruct {
[INFO] [stdout]    |  _____________-
[INFO] [stdout] 20 | |         name: "B".to_string(),
[INFO] [stdout] 21 | |         value: None,
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | |     .annotated("Second");
[INFO] [stdout]    | |     -^^^^^^^^^ method not found in `NamedStruct`
[INFO] [stdout]    | |_____|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `NamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:44:38
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct NamedStruct {
[INFO] [stdout]    | ---------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     let annotated = original.clone().annotated("ann");
[INFO] [stdout]    |                                      ^^^^^^^^^ method not found in `NamedStruct`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `UnnamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:58:57
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct UnnamedStruct(
[INFO] [stdout]    | ------------------------ method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     let a = UnnamedStruct("A".to_string(), Some(10u32)).annotated(1.0_f64);
[INFO] [stdout]    |                                                         ^^^^^^^^^ method not found in `UnnamedStruct`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `UnnamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:59:50
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct UnnamedStruct(
[INFO] [stdout]    | ------------------------ method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     let b = UnnamedStruct("B".to_string(), None).annotated(2.0_f64);
[INFO] [stdout]    |                                                  ^^^^^^^^^ method not found in `UnnamedStruct`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `UnnamedStruct` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct UnnamedStruct(
[INFO] [stdout]    | ------------------------ method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     let annotated = original.clone().annotated(1.0_f64);
[INFO] [stdout]    |                                      ^^^^^^^^^ method not found in `UnnamedStruct`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `DualCoalesce` in the current scope
[INFO] [stdout]   --> tests/derive_annotated.rs:97:6
[INFO] [stdout]    |
[INFO] [stdout] 84 |   pub struct DualCoalesce {
[INFO] [stdout]    |   ----------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 93 |       let a = DualCoalesce {
[INFO] [stdout]    |  _____________-
[INFO] [stdout] 94 | |         key: "a".to_string(),
[INFO] [stdout] 95 | |         value: None,
[INFO] [stdout] 96 | |     }
[INFO] [stdout] 97 | |     .annotated("first");
[INFO] [stdout]    | |     -^^^^^^^^^ method not found in `DualCoalesce`
[INFO] [stdout]    | |_____|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Annotate`
[INFO] [stdout]            candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `DualCoalesce` in the current scope
[INFO] [stdout]    --> tests/derive_annotated.rs:102:6
[INFO] [stdout]     |
[INFO] [stdout]  84 |   pub struct DualCoalesce {
[INFO] [stdout]     |   ----------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  98 |       let b = DualCoalesce {
[INFO] [stdout]     |  _____________-
[INFO] [stdout]  99 | |         key: "b".to_string(),
[INFO] [stdout] 100 | |         value: Some(2),
[INFO] [stdout] 101 | |     }
[INFO] [stdout] 102 | |     .annotated("second");
[INFO] [stdout]     | |     -^^^^^^^^^ method not found in `DualCoalesce`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Annotate`
[INFO] [stdout]             candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `DualCoalesce` in the current scope
[INFO] [stdout]    --> tests/derive_annotated.rs:111:6
[INFO] [stdout]     |
[INFO] [stdout]  84 |   pub struct DualCoalesce {
[INFO] [stdout]     |   ----------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 107 |       let c = DualCoalesce {
[INFO] [stdout]     |  _____________-
[INFO] [stdout] 108 | |         key: "c".to_string(),
[INFO] [stdout] 109 | |         value: Some(1),
[INFO] [stdout] 110 | |     }
[INFO] [stdout] 111 | |     .annotated("first");
[INFO] [stdout]     | |     -^^^^^^^^^ method not found in `DualCoalesce`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Annotate`
[INFO] [stdout]             candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `annotated` found for struct `DualCoalesce` in the current scope
[INFO] [stdout]    --> tests/derive_annotated.rs:116:6
[INFO] [stdout]     |
[INFO] [stdout]  84 |   pub struct DualCoalesce {
[INFO] [stdout]     |   ----------------------- method `annotated` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |       let d = DualCoalesce {
[INFO] [stdout]     |  _____________-
[INFO] [stdout] 113 | |         key: "d".to_string(),
[INFO] [stdout] 114 | |         value: None,
[INFO] [stdout] 115 | |     }
[INFO] [stdout] 116 | |     .annotated("second");
[INFO] [stdout]     | |     -^^^^^^^^^ method not found in `DualCoalesce`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `annotated`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Annotate`
[INFO] [stdout]             candidate #2: `AnnotateFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `semigroup` (test "derive_annotated") due to 20 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `semigroup` (lib test) due to 37 previous errors
[INFO] running `Command { std: "docker" "inspect" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe", kill_on_drop: false }`
[INFO] [stdout] 5e5261021e7c9336580ce5464bba5c7ec5c41590c89a2348d27355beed9bb8fe
